Method, device and program for browsing information on a display

ABSTRACT

An electronic device, such as held device, having a display and camera, displays a user interface that includes a user interface object displayed at a first size; detects, via the camera, a change in distance between a user of the electronic device and the electronic device; and in response to detecting the change in distance between the user the electronic device and the electronic device, changes size of the displayed user interface object.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/691,506, filed Jan. 21, 2010, which is a continuation of U.S. patentapplication Ser. No. 12/569,797, filed Sep. 29, 2009, which is acontinuation of U.S. patent application Ser. No. 11/159,786, filed Jun.23, 2005, now U.S. Pat. No. 7,607,111, issued Oct. 20, 2009, which is acontinuation-in-part of abandoned U.S. patent application Ser. No.10/071,172, filed Feb. 8, 2002, which claims the benefit of and priorityto Finnish Patent Application Serial No. 2001/1039, filed May 16, 2001,the contents of all of which are incorporated by reference herein intheir entirety.

BACKGROUND

The present invention relates to display devices where information canbe browsed. In particular, the present invention relates to a novel andimproved method and system for browsing information with hand-helddevices with a display device.

Various electronic mobile devices, e.g., mobile phones, computers,Personal Digital Assistants (PDA, comprise displays. The transfer of theinformation to be viewed on the display is executed at least partiallyby a processor. A device typically comprises also a keypad with whichthe user of the device enters various commands. There are alsotouch-sensitive displays (touch screens). There a separate keypad is notneeded. A device is controlled by touching the touch screen.

The display of a mobile device is capable of showing only limited amountof information at a time. Because of the size of the display, e.g., alarge image must be viewed part by part. In order to view such an image,the user of the device controls the display, e.g., by scrolling thedisplay with a mouse etc.

Devices equipped with a display have different kinds of user interfaceswith which the user interacts with the device. There are graphical userinterfaces and speech controlled user interfaces. A graphical userinterface can be controlled with various control devices including, forexample, keypad, touch screen, different kinds of cursor controllingmethods, etc.

There are, however, drawbacks in the prior-art devices in the usabilityof the device, especially in the browsing of information with thedevice. When the information to be viewed on the display must be viewedby parts, it is difficult and slow to browse the whole information partby part. It is, for example, difficult to display a wide panoramapicture on the display, while at the same time quickly and easilybrowsing the picture.

For the user of a mobile hand-held device it is difficult to perceivevisual entireties that can not be displayed at a time on the display.Therefore, the browsing of the information should be carried out asnaturally and logically as possible. A user of a mobile hand-held devicemust be able to learn and use the device easily and efficiently.

From prior-art solutions it is known to use location detectors forbrowsing information with a device. Reference publication WO 9918495(Telefonaktiebolaget L M Ericsson) describes a method where the displaydevice is moved essentially in the plane of the display device, wherebydifferent parts of a complete screen image are shown on said displaydevice. When the display device is moved essentially in a directionperpendicular to the plane of the display device, the magnification ofthe screen image changes. The movement in the plane is a bitproblematic. In the plane movement the necessary movements may be quiteremarkable/large, and it may be difficult to maintain the display devicein a proper position for reading or browsing.

Another prior-art solution is to use tilt detectors for moving, or to bemore specific, for scrolling the view on the display device. Onesolution of this kind is described in WO 9814863 (Philips). When thescreen image is moved by scrolling (tilting the display device), theresult is better than in moving the display device in the plane of thedisplay device, as described above. However, to move the screen imagefluently and to return from some point to the initial point of browsingis difficult because controlling a discontinuous motion requirescontinuous and precise handling of the display device. The controllingof the scrolling movement can be compared to a movement of a ball on aplane surface by tilting the plane. In order to stop the rolling of theball, the plane surface must be perpendicular against the gravity of theearth. In other words, the control of the movements and usability arenot at an acceptable level so that the use of such a device would benatural and logical.

There are also various kinds of motion and/or location controlleddisplay devices used in, e.g., in virtual helmets. There the displaydevice focuses like a virtual camera. The display device displays anobject to which the device (camera) points in the modeled virtualenvironment. To use a virtual camera model in a hand-held device is notso straightforward because displaying peripheries of a large screenimage results in a disadvantageous viewing angle. Therefore, theadjustment and zooming of a display image must be implemented in a mostnatural and logical manner. In prior-art solutions the browsing ofinformation on the display device is slow and awkward because thesolutions are based on artificial logic.

SUMMARY

An objective of the present invention is to adjust the view on a displaydevice in a manner as natural as possible so that the user of thehand-held device can concentrate on the information displayed on thedisplay device and not on the adjustment of the displayed information.

The objective is achieved by a method, hand-held device and computerprogram for browsing information on a display device of a hand-helddevice. In the present invention, the display device is coupled to aprocessor mapping the information content generated by the processorinto the virtual data object suitable for conveying the information tothe user of the hand-held device. The display device displays a portionof the virtual data object at a time on the display device. The virtualdata object comprises e.g., characters, pictures, lines, links, video orpixels that can be conveniently displayed on the display device at atime.

The idea of the present invention is to browse information on thedisplay device of a hand-held device naturally and logically.Characteristic of the invention is that information is browsed on thedisplay device essentially in a mirror-like way. In other words, theportion of the virtual data object displayed on the display device ismoved at the same direction as the hand-held device is tilted. In otherwords, the movements of the portion of the virtual data object displayedon the display device depend on the orientation of the hand-held device.An important feature of the invention is also that a certain orientationof the hand-held device always displays the same portion of the virtualdata object on the display device. The browsing method described aboveis extremely logical, and the movements and responses to the movementsare natural.

The core functions of the browsing can be explained by means of thefollowing example. The information is browsed with the hand-held deviceessentially in the same way as looking at a view from a hand mirror. Thehand mirror is typically held in hand quite close to the viewer. Thehand mirror represents the display device and the view behind the viewerthe virtual data object. When the hand mirror is tilted, the view behindthe viewer moves in response to the changes in the orientation of thehand mirror.

When approaching the functionality of a hand mirror the browsing ofinformation on a display device of a hand-held device is made naturaland logical.

The present invention is most applicable with hand-held devices with adisplay when a large data object is displayed by parts on the display.With the present invention, a large data object can be browsed naturallyand logically from the user's perspective. The position memory of themuscles of a human body makes it easier to return to previously browsedpoints and to the starting point.

The present invention also reduces the need to use exterior mechanicalswitches, keypad or other known control mechanisms for browsinginformation on the display device. Therefore, the use of a hand-helddevice is easier and simpler. The basic functionalities of the presentinvention can be implemented with mass production components, and withmoderate processing power. Thus, the features described in the presentinvention can be taken in use in consumer products without notableexpense increase.

Other objects and features of the present invention will become apparentfrom the following detailed description considered in conjunction withthe accompanying drawings. It is to be understood, however, that thedrawings are designed solely for purposes of illustration and not as adefinition of the limits of the invention, for which reference should bemade to the appended claims. It should be further understood that thedrawings are not necessarily drawn to scale and that, unless otherwiseindicated, they are merely intended to conceptually illustrate thestructures and procedures described herein.

DRAWINGS

The above-mentioned features and objects of the present disclosure willbecome more apparent with reference to the following description takenin conjunction with the accompanying drawings wherein like referencenumerals denote like elements and in which:

FIG. 1 illustrates how the hand-held device is operated according to thepresent invention,

FIGS. 2a, 2b and 2c illustrate more specific examples of how thehand-held device of FIG. 1 is handled,

FIG. 3 illustrates an exemplary viewing setup of the present invention,

FIG. 4 illustrates an example of how a view on the display device can beformed and calculated according to the viewing setup of FIG. 3,

FIG. 5 is a block diagram illustrating an embodiment of the hand-helddevice in accordance with the present invention,

FIG. 6 is a block diagram illustrating another embodiment of thehand-held device in accordance with the present invention,

FIGS. 7a, 7b, 7c and 7d illustrate the view change of the display of thehand-held device in response to user actions,

FIGS. 8a, 8b and 8c illustrate different ways of browsing information,

FIG. 9 is a flow diagram illustrating the operation of a preferredembodiment of the present invention, and

FIGS. 10a-10d illustrate another example of how a view on the displaydevice can be formed and calculated according to the viewing set up ofFIG. 4.

DETAILED DESCRIPTION

FIG. 1 illustrates a simplified portable hand-held device according tothe present invention. The hand-held device is e.g., a mobile phone or aPersonal Digital Assistant (PDA). The display device of the hand-helddevice displays information stored on a memory of the hand-held device.The hand-held device is explained more specifically in later examples.FIG. 1 represents the basic browsing functionality. Information isbrowsed on the display device by tilting (rotating) the hand-held device40 towards directions 2, 3, 4, and 5 around the axis 6 and 7. The memoryof the hand-held device 40 comprises a virtual data object comprisingcharacters, pictures, lines, links, video or pixels that can beconveniently displayed on the display device at a time. A portion of thevirtual data object displayed on the display device is moved at the samedirection as the hand-held device is tilted. Moreover, a certainorientation of the hand-held device 40 always displays the same portionof the virtual data object on the display device.

FIGS. 2a, 2b and 2c represent a more specific example of tilting thehand-held device 40. It can be said that a typical starting situation isthat the hand-held device 40 is in a 20-30 degree angle with thehorizontal plane 8. This plane is in one embodiment set as a defaultxy-plane from which the rotation angles of the hand-held device 40 aremeasured. It can also be said that this starting point is the mostappropriate one for viewing information with the display device. So whenthe user tilts the hand-held device 40, the viewing angle changes. Theview on the display device changes in real time to correspond to the newviewing angle. A very important feature of the invention is that theview on the display device depends on the viewing angle, and the sameviewing angle displays always the same view on the display device. Thisfeature is very natural and logical.

In FIG. 2a , angle a corresponds to the aforementioned 20-30 degrees.FIG. 2a is regarded as a starting position when the browsing begins. InFIG. 2b , the hand-held device 40 has been tilted to an angle (β₁, whichis smaller than angle α. The view on the display device changes based onthe tilting movements essentially in real time, and the movement of theinformation on the display device is towards the same direction as thehand-held device 40 is tilted. In FIG. 2c , the hand-held device 40 istilted to an angle β₂, which is bigger than angle α.

In one embodiment, the angle (α) is a predetermined angle, and it isdetermined by the manufacturer of the hand-held device 40. In thedetermination process it is defined that the display view plane is basedon axis x_VD and y_VD, which are perpendicular to each other. Thehand-held device is then set to a certain position (a), and thatposition is set as a default xy-plane. In FIGS. 2a, 2b and 2c , thedefault plane is determined based on angle a. In another embodiment, thedefault plane can be freely determined based on any x-axis, y-axisand/or z-axis.

From that moment on, the hand-held device 40 is tilted in respective tothis plane. When the default xy-plane is fixed, the user of thehand-held device is always capable of returning to a certain view bytilting the device back to the original orientation when the sensorsmeasuring the orientation of the hand-held device do not cause anyrestrictions to the measured position. In another embodiment, the angleα can be readjusted to a desired value.

FIGS. 3 and 4 represent an exemplary embodiment of the setup of a“mirroring system”. It includes a viewpoint VP, a virtual screen VS anda virtual display VD. The viewpoint VP represents the location of aviewer of a hand-held device. The VD represents the display device ofthe hand-held device. The virtual screen represents the actualinformation browsed on the display device.

For simplicity in the following the viewpoint VP is defined to be atpoint [0 0 0]. Furthermore, the middle point of the virtual display VDis defined to be at P_xyz wherein P_xyz=[P_xyz₁ P_xyz₂ P_xyz₃]^(T), andthe virtual screen VS to be at plane x-kuva_shift.

The orientation of the virtual display VD is defined by tilting angelsα_(x), α_(y), α_(z) indicating rotation angle over each coordinate axe.In FIG. 4, the virtual display VD is a plane and has some size. Eachcoordinate in this VD plane is defined using notation P=[P_xyz₂+peili_yP_xyz₃+peili_z] when the orientation of the VD is defined to be parallelwith the x-plane.

It must be noted that FIGS. 3 and 4 represent only one embodiment of thepossible positions of the VS, VP and VD, and the axes used.

In order to the determine the orientation of the VD, two orthogonalvectors (in the x-plane) are defined as follows:L=[0,1,−1]^(T)M=[0,1,1]^(T)

Those vectors present the orthogonal direction vectors of the VD. Next,the orientation of the virtual display VD is defined using the rotationangles:

$R_{x} = \begin{bmatrix}1 & 0 & 0 \\0 & {\cos\left( \alpha_{x} \right)} & {- {\sin\left( \alpha_{x} \right)}} \\0 & {\sin\left( \alpha_{x} \right)} & {\cos\left( \alpha_{x} \right)}\end{bmatrix}$ $R_{y} = \begin{bmatrix}{\cos\left( \alpha_{y} \right)} & 0 & {\sin\left( \alpha_{y} \right)} \\0 & 1 & 0 \\{- {\sin\left( \alpha_{y} \right)}} & 0 & {\cos\left( \alpha_{y} \right)}\end{bmatrix}$ $R_{z} = \begin{bmatrix}{\cos\left( \alpha_{z} \right)} & {- {\sin\left( \alpha_{z} \right)}} & 0 \\{\sin\left( \alpha_{z} \right)} & {\cos\left( \alpha_{z} \right)} & \left. 0 \right) \\0 & 0 & 1\end{bmatrix}$

Next the unit normal vector of the VD is calculated:

PT₁ = R_(x)R_(y)R_(z)L PT₂ = RxRyRzM PNT = PT₁ × PT₂(cross  product)${PN} = \frac{PNT}{{PNT}}$

where PN is the unit normal vector of the VD-plane. The PN defines theapplicable orientation of the VD to be used in the projectioncalculation.

Next, the “image” on the virtual display VD is calculated. Let's assumethat there is a vector beginning from the VP and being reflected via theVD. The point where the reflected vector hits on the plane VS definesthe projection of the point on the VS to the point on the VD-plane.Hence, if all points on VD are processed as described above, the imageon the VD can be defined.

The idea of calculation is presented using vectors in FIG. 4. Using thevectors the algorithm works as follows:

-   -   1. The points P and VP define a vector A.    -   2. The projection proj of the vector A on the normal vector PN        is calculated.    -   3. The sum of the vector A and proj*PN defines a point Q.    -   4. The points Q and VP define a vector B.    -   5. The point defined as sum of the VP and 2*B defines a point R.    -   6. The direction vector that goes via P and R defines a        direction vector that hits the plane VS at point S.    -   7. The result of this process is that the image of point P in VD        is the image of point S in VS.

By repeating phases 1-7 for all points in the VD-plane the whole imageof the virtual display VD is defined. Using vector calculation the samecan be presented as follows:

First the point P is defined:P=P_xyz+R _(x) R _(y) R _(z)[0 peili_y peili_z]^(T)

where P_xyz is the coordinate of the middle point of the VD, peili_y isthe y-coordinate on the VD plane-coordinate system and peili_z is thez-coordinate on the VD plane-coordinate system.

Next, the projection on the normal vector is defined:

A = P − VP ${proj} = \frac{A \cdot {PN}}{{PN}}$

Hence the point Q can be defined:Q=P−proj*PN

Further, the point R can be defined (the reason for the factor 2 is thatin mirror the arriving and departing light beam have equal anglescompared to the normal vector of the surface).B=Q−VPR=VP+2*B

And finally the direction vector C is defined as follows:C=R−P.

Because the VS is located at plane x=kuva_shift, the vector C hits thatplane at the point

S = k * C + P where $k = \frac{{- P_{1}} + {kuva\_ shift}}{C_{1}}$

where P₁ is the x-component of the point P and C₁ is the x-component ofthe vector C. Note that in this calculation the VP was defined to theorigin to simplify the presentation of the algorithm. However, inpractice the VP can locate freely in the coordinate space. It must benoted that the image on the virtual screen VS is horizontally inversedwhen the virtual screen VS is viewed from the viewpoint VP direction.

The system of FIG. 4 has several characteristics:

-   -   1. The view on the display device moves into the same direction        as it is tilted. In one embodiment, the movement of the portion        of the virtual data object displayed on the display device is        proportional to the change amount and/or rate of the rotational        movement.    -   2. When the distance between the VP and VD increases, the same        tilting angle causes greater movements on the virtual screen VS.        In other words, the browsing speed of the information on the        display device increases as the distance between the VP and VD        increases. In one embodiment, this movement factor can be        adjusted by the user of the hand-held device.    -   3. When rotating the display device, the view on the display        device remains unchanged in relative to the user.    -   4. The view on the display device depends on the position and        orientation of the VS, VP and VD.    -   5. A certain VS-VP-VD position/orientation combination always        constitute the same view on the display device.    -   6. When the position of the VD alters, the viewing angle between        the VP and VD changes.    -   7. Zooming can be implemented by changing the position of the        VS, VP and VD.    -   8. Zooming can be implemented by enlarging the object on the VS        or altering the radius of curvature of the mirror (VD).    -   9. If the figure on the VS is in the right way when viewed from        the VP, the view on the VD is mirrored (horizontally inversed).

The present invention does not have to implement all the aforementionedfeatures, but the most appropriate ones can be chosen. The idealmirror-like functionality means that the information on the displaydevice changes when:

-   -   a) the location or orientation of the hand-held device in        proportion to the coordinates bound to the physical environment        changes,    -   b) the location of the user (VP) in proportion to the        coordinates bound to the hand-held device changes,    -   c) the virtual location of the data (virtual screen) displayed        on the display device in proportion to the coordinates bound to        the physical environment changes.

In order to simulate the operation of a mirror to the user, theinformation on the display device is changed at least either accordingto a) or b). If only a) or b) is taken into consideration, the operationof the display is not so mirror-like as if both a) and b) wereimplemented. In one embodiment, the display device operates according toall a), b) and c).

FIGS. 10a-d illustrate another example of calculation which is explainedwith reference to FIG. 4. FIG. 10c is a side view of FIG. 10a and FIG.10d is a side view of FIG. 10b . In this example the virtual screen isreferred to as the virtual surface 200.

In FIGS. 10a and 10c the default orientation of the display 201 isdetermined to be parallel with the yz-plane. The virtual surface (VS)200 is above the display plane and also parallel with the yz-plane. Apage having information to be browsed lies on the virtual surface 200,and the size of the page is larger than the size of the display 201.

The reference point VP is on the virtual surface 200. The x-axis (notshown) runs through the reference point VP and the middle point P of thedisplay 201. After calculating the point S by the method presented withreference to FIG. 4, the result is that point S is equal to point VP. Ofcourse, the relationship between every single point in the area (2 a*2b) of the display 201 and the corresponding area (2 a*2 b) on thevirtual surface 200 can be calculated in a similar way. The portion ofthe page (2 a*2 b) that is to be displayed then has a shape similar tothe shape of the display (2 a*2 b). In other words, on the point S onthe virtual surface 200 is the middle point of the determined rectangle2 a*2 b and all the other points residing around point S within therectangle relate to the corresponding the points residing around point Pon the display 201. That portion of the page surrounding point S on thevirtual surface is displayed on display 201.

In FIGS. 10b and 10d the display 201 has been tilted around the y-axis,wherein the portion of the page shown on the display 201 changes in thefollowing way:

Initially (i.e. when the virtual surface 200 and the display surface 201are parallel with respect to each other as shown in FIGS. 10a and 10c )a reference line 203 drawn between point P and point S meets the x-axis,i.e. it is parallel with the x-axis. The normal of the display extendingfrom point P is parallel with the x-axis and the reference line 203.When display 201 is tilted by angle a with respect to the virtualsurface 200, the normal 204 of the display is also tilted by angle awith respect to the x-axis. After the display 201 is tilted as shown inFIGS. 10b and 10d , the reference line 203 is mirrored with respect tothe normal 204 of the display wherein a mirror line 205 is generated. Ahit point S′ is the point where the mirror line 205 hits the virtualsurface 200. In the same manner as above, an area (shape) of the pagecorresponding to the area (shape) of the display is determined. Thedisplay 201 then shows the portion of the page around the hit point S′and having a shape similar to the shape of the display 201.

FIG. 5 represents one example of a preferred hand-held device 40. Thehand-held device 40 is e.g., a mobile phone. The hand-held devicecomprises a processor 30 and a display device 10 coupled to theprocessor 30. The data memory 60 and the program memory 70 are alsocoupled to the processor 30. The program memory 70 contains e.g., theoperation system. The sizes of the memories, and the processing power ofthe processor 30 depend on the device and application used. The programmemory 60 can additionally contain different kinds of softwareapplications with which various tasks can be executed. Applicationsoftware can comprise, e.g., word processing, graphical and spreadsheetsoftware. The software applications and data used by them are loadedinto the data memory 60 in order to be able to use the software.

The display adapter 90 with the processor 30 controls the display device10. In order to not to use the data memory 60 for storingdisplay-related information, the display adapter 90 comprises a databuffer in which the information to be displayed on the display device 10is stored.

The hand-held device 40 comprises measuring means which in a preferredembodiment of the invention refer to acceleration sensor(s) 50. With theacceleration sensor(s) 50 it is possible to measure tilting movements ofthe hand-held device 40. The processor 30 receives the measurementresults and interprets them. The acceleration sensor(s) 50 can be e.g.,piezo-electric or capacitive producing an analog voltage which isproportional to the acceleration factor.

With the acceleration sensor(s) 50 it is possible to measure one, two orthree-dimensional accelerations. The measurement of tilting movements isbased on the fact that the highest acceleration is parallel to thegravity of the earth. Therefore, the orientation of the hand-held device40 can be defined in relation to the earth. It is also possible to usegyroscopes with its various forms to measure the orientation of thehand-held device 40. The quantities measured are e.g., tilting angle andaccelerations.

The relation information between the rotation degree of the hand-helddevice and the memory address corresponding to the displayed view isstored e.g., on the data memory 60. The processor 30 defines theorientation of the hand-held device 40 in relation to the user or areference position. The processor 30 may also define the distancebetween the user and the hand-held device 40 or the user orientation inrelation to the hand-held device 40.

The most important point is not the way of how the aforementioneddefinitions are made but the fact that the orientation of the hand-helddevice 40 affects the information displayed on the display device 10.The memory space can be implemented logically, e.g., as atwo-dimensional memory space. When browsing starts, the processor 30starts the definition process of the new memory address from the currentmemory address so that displacement in the memory space corresponds tothe direction and amount of change in orientation according to therelation information.

The hand-held device 40 comprises also a browse lock 80 with which it issignaled when the browsing is executed. The orientation of the hand-helddevice 40 must remain in the same position in order to keep the view onthe display device unchanged. In a preferred embodiment, the hand-helddevice 40 comprises a lock feature, e.g., a push-button, with which thebrowsing can be locked. The user can tilt the hand-held device back toan appropriate viewing orientation in order to view the information onthe display device 10 properly. The browsing may then continue when thebutton is released.

The hand-held device 40 in FIG. 6 is almost the same as the hand-helddevice 40 in FIG. 5. In FIG. 5, the hand-held device comprises also alocator 20. It is possible to control the view on the display device 10also by other means than acceleration sensor(s) or equivalent means. Thehand-held device 40 can comprise, e.g., a (video) camera measuring theorientation and location of the hand-held device in relation to the userof the hand-held device 40 or to another reference point in thesurroundings of the user. The camera 20 may be set to recognize andmeasure distance to a certain reference point, e.g., the eyes of theuser. Therefore, when the orientation and/or position of the hand-helddevice 40 changes, the viewing angle measured by the camera alsochanges. Thus, it can be concluded that the hand-held device 40 has beentilted and/or moved towards some direction.

By analyzing the video image it is possible to define the orientation ofthe hand-held device 40 in proportion to the reference point and thedistance of the hand-held device 40 to the reference point tens of timeswithin a second. The browsing functionality can be implemented merelyusing the video camera, so that additional acceleration sensor(s) arenot necessarily needed. The measuring of the distance can also beimplemented with an ultrasonic radar connected through an analog-digitalconverter to the processor 30 of the hand-held device 40. In oneembodiment, from the user's perspective the information on the displaydevice 10 is essentially browsed in the same manner as when looking in amirror. In other words, the view on the display 10 depends on theviewing angle in relation to the display device plane as the view in amirror depends on the viewing angle to the mirror.

In one embodiment of FIG. 5, the locator 20 comprises a video cameraseeking the location of the head and eyes of the user. Heuristicalgorithms and neural network seeking the location of the head and eyescan be used. Acceleration sensors are more appropriate to use inhand-held devices than a video camera, because they are cheaper. Theacceleration sensors may also be a more appropriate solution in deviceswhich do not have a built-in video camera for a default feature, e.g.,in the (third generation) mobile phones. The advantage of the use of thevideo camera is that the use of the hand-held device is not restrictedto the position of the hand-held device, e.g., when being on one's backthe hand-held device can be used without problems. Also the selection ofstarting point of browsing is more free, and choice (of the startingpoint) can be given to the user of the hand-held device. In oneembodiment of FIG. 5, the display device surface level is set as anxy-plane. A certain relation between the x-axial and/or y-axial movementof the hand-held device and the amount of the displacement of theportion of the virtual data object displayed on the display device at atime has been determined. So, when the hand-held device 40 is movedalong x- and/or y-axis, the portion of the virtual data object displayedon the display device moves in the same direction as the hand-helddevice is moved in the xy-plane according to the relation information.

In a preferred embodiment of FIGS. 5 and 6 the processor 30 comprisesalso means for filtering the x-axial, y-axial and/or tilting movementsbefore displaying the movements on the display device. Therefore, minorunintentional movements can be filtered out.

In one embodiment of FIGS. 5 and 6, the relation between the tiltingmovements and the amount of the displacement of the portion of thevirtual data object displayed on the display device at a time can bechanged. Therefore, a user may define e.g., that from now on a 10 degreetilting causes the same effect on the display as a 15 degree tiltingearlier. In one embodiment, the relation is linear. In other words, therelation between the tilting movements and the amount of thedisplacement of the portion of the virtual data object displayed on thedisplay device at a time does not depend on the amount of the tilting.In another embodiment, the relation is linear, but e.g., exponential. Inother words, the amount of the displacement of the portion of thevirtual data object displayed on the display device at a time depends onthe amount of the tilting. For example, the value of the relation factorchanges (e.g., exponentially) as the tilting amount increases.

FIGS. 7a-7d represent the situation where the size of the information onthe display device depends on the zoom factor in addition to theorientation of the hand-held device. The zoom factor can be controlledin different ways. In one embodiment, the zoom factor depends on thedistance between the user and the hand-held device. FIG. 7a representthe display device 10, on which graphical FIGS. 21, 22 and 23 are seen.The view on the display device 10 depends on the orientation of thehand-held device or the viewing angle from which the user of thehand-held views the display device. When the user of the hand-helddevice sets graphical FIG. 21 in the middle of the display device, andthe zoom factor is increased, graphical FIG. 21 grows as depicted inFIGS. 7b and 7c . In FIG. 7d , the zoom factor has decreased, and alsothe viewing angle between the user and the hand-held device has changed.

The zoom factor can be modified with several different ways. In oneembodiment, the zoom factor depends on the distance between thereference point (e.g., the eyes of the user) and the hand-held device.When the distance decreases, graphical FIG. 21 grows, and vice versa.The display device 10 may have to be set to a zoom mode before the zoomfactor changes. If the zoom factor was all the time dependent on thedistance between the reference point and the hand-held device, thebrowsing operation would not necessarily be practical because the viewon the display 10 would change whenever the aforementioned distancechanges.

In another embodiment, the zoom factor changes when rotating thehand-held device around the axis being essentially perpendicular to apredefined xy-plane. The xy-plane may be the present plane of thedisplay device 10 or some other predetermined plane. Yet in anotherembodiment, the zoom factor is changed by tilting the hand-held device.Before this the display device must be set into a zoom mode. When thehand-held device is tilted, e.g., to the right the zoom factorincreases, and when the hand-held device is tilted to the left, the zoomfactor decreases. It is not important which predefined tiltingdirections are used but that the two directions can be separatedsufficiently from each other. The aforementioned zoom mode is set on andoff e.g., with a predetermined button of the hand-held device.

FIGS. 8a-8c represent different ways to implement the user interface. InFIG. 8a , the display device 10 of the hand-held device 40 containsinformation to be viewed by the user. In FIG. 8a , an A letter is on thedisplay device 10, In one embodiment, the information on the displaydevice 10 remains in the same position with respect to the user when thehand-held device 40 is rotated around the axis being perpendicular tothe display surface plane, as depicted in FIG. 8b . In other words, theinformation on the display device 10 remains in the same positionbecause the information is attached to the real physical coordinates.

In another embodiment, the information on the display device 10 remainsin the same position with respect to the hand-held device 40 when thehand-held device 40 is rotated around the axis being perpendicular tothe display surface plane, as depicted in FIG. 8c . In other words, theorientation of the information on the display device 10 changes withrespect to the user of the hand-held device 40 because the informationis not attached to the real physical coordinates but to the displaydevice.

FIG. 9 represents a flow diagram describing the functionality of amethod of the present invention. FIG. 9 describes a hand-held device 40comprising means for measuring acceleration 50 and a processor 30. Meansfor measuring acceleration refer e.g., to a multiaxial accelerationsensor suited for measuring changes in the orientation of the hand-helddevice 40.

The hand-held device is switched on, and it is ready for browsinginformation on the display device, as represented in phase 100. When thehand-held device is functional, the acceleration sensor 50 measuresconstantly acceleration readings. The processor 30 receives theacceleration readings and defines the orientation of the hand-helddevice and also the change in the orientation compared to the priormeasurement(s), as represented in phases 101 and 102. In phase 103, itis tested whether the browsing is on or off. If the browsing is off, theprocessor 30 examines if a predetermined browsing startup condition isfulfilled (phase 104). If it is not fulfilled, the method returns backto phase 101. It means that the orientation of the hand-held device hasnot changed sufficiently, which would indicate that the user wishes tobrowse information on the display device of the hand-held device.

If the predetermined browsing startup condition is fulfilled, theprocessor 30 sets the browsing as started (phase 106) and determines thebrowsing speed based on the current acceleration value (phase 108). Theprocessor 30 also changes the information presented on the displaydevice according to a relation between the rotation degree and theamount of the displacement of the portion on the virtual data objectstored on the data memory 60 and the determined browsing speed (phase108). A certain orientation of the hand-held device always causes thesame view (the same portion on the virtual data object stored on thememory) on the display device. If it is observed in phase 103 that thebrowsing is already on, and the browsing stopping condition is fulfilled(phase 105), the processor 30 stops the browsing and sets the browsingas stopped (phases 107 and 109). If it is observed that the browsingstopping condition is not fulfilled (phase 105), the processor 30returns back to phase 101.

While the apparatus and method have been described in terms of what arepresently considered to be the most practical and preferred embodiments,it is to be understood that the disclosure need not be limited to thedisclosed embodiments. It is intended to cover various modifications andsimilar arrangements included within the spirit and scope of the claims,the scope of which should be accorded the broadest interpretation so asto encompass all such modifications and similar structures. The presentdisclosure includes any and all embodiments of the following claims.

What is claimed is:
 1. A method, comprising: at an electronic devicewith a display and a camera: displaying, on the display, a userinterface that includes a user interface object displayed at a firstsize; detecting, via the camera, a change in distance between a user ofthe electronic device and the electronic device; and in response todetecting the change in distance between the user of the electronicdevice and the electronic device, changing size of the displayed userinterface object.
 2. The method of claim 1, including, in response todetecting the change in distance between the user of the electronicdevice and the electronic device, changing size of the displayed userinterface object in accordance with the change in distance between theuser of the electronic device and the electronic device.
 3. The methodof claim 1, including setting a zoom mode of the device to enablezooming, wherein changing size of the displayed user interface objectcomprises zooming in on a portion of the user interface.
 4. The methodof claim 1, wherein the change in distance between the user of theelectronic device and the electronic device is a change in distancebetween the electronic device and eyes of the user, and the methodincludes changing size of the displayed user interface object by anamount that is based on the change in distance between the electronicdevice and the eyes of the user.
 5. The method of claim 1, whereinchanging size of the displayed user interface object includes changing azoom factor based on rotation of the electronic device.
 6. The method ofclaim 5, wherein rotation of the electronic device is determined, usingthe camera, based on orientation of the electronic device in relation tothe user.
 7. The method of claim 1, including changing a zoom factor forthe user interface or user interface object based on a tilting of thedevice, wherein tilting the device in a first predefined directionincreases the zoom factor and tilting the device in a second predefineddirection decreases the zoom factor.
 8. The method of claim 7, whereintilt of the electronic device is determined, using the camera, based onorientation of the electronic device in relation to the user.
 9. Anelectronic device, comprising: a processor; a camera; and a display incommunication with the processor, wherein the processor is configuredto: display, on the display, a user interface that includes a userinterface object displayed at a first size; detect, via the camera, achange in distance between a user of the electronic device and theelectronic device; and in response to detecting the change in distancebetween the user of the electronic device and the electronic device,change size of the displayed user interface object.
 10. The electronicdevice of claim 9, wherein the processor is configured to, in responseto detecting the change in distance between the user of the electronicdevice and the electronic device, change size of the displayed userinterface object in accordance with the change in distance between theuser of the electronic device and the electronic device.
 11. Theelectronic device of claim 9, wherein the processor is configured to seta zoom mode of the device to enable zooming, and changing size of thedisplayed user interface object comprises zooming in on a portion of theuser interface.
 12. The electronic device of claim 9, wherein the changein distance between the user of the electronic device and the electronicdevice is a change in distance between the electronic device and eyes ofthe user, and the processor is configured to change size of thedisplayed user interface object by an amount that is based on the changein distance between the electronic device and the eyes of the user. 13.The electronic device of claim 9, wherein changing size of the displayeduser interface object includes changing a zoom factor based on rotationof the electronic device.
 14. The electronic device of claim 13, whereinrotation of the electronic device is determined, using the camera, basedon orientation of the electronic device in relation to the user.
 15. Theelectronic device of claim 9, wherein the processor is configured tochange a zoom factor for the user interface or user interface objectbased on a tilting of the device, wherein tilting the device in a firstpredefined direction increases the zoom factor and tilting the device ina second predefined direction decreases the zoom factor.
 16. Theelectronic device of claim 15, wherein tilt of the electronic device isdetermined, using the camera, based on orientation of the electronicdevice in relation to the user.
 17. A non-transitory computer readablestorage medium, storing one or more programs, which when executed by oneor more processors of an electronic device having a display and acamera, cause the electronic device to perform operations comprising:displaying, on the display, a user interface that includes a userinterface object displayed at a first size; detecting, via the camera, achange in distance between a user of the electronic device and theelectronic device; and in response to detecting the change in distancebetween the user of the electronic device and the electronic device,changing size of the displayed user interface object.
 18. Thenon-transitory computer readable storage medium of claim 17, wherein theone or more programs, when executed by the one or more processors, causethe device to, in response to detecting the change in distance betweenthe user of the electronic device and the electronic device, change sizeof the displayed user interface object in accordance with the change indistance between the user of the electronic device and the electronicdevice.
 19. The non-transitory computer readable storage medium of claim17, wherein the one or more programs, when executed by the one or moreprocessors, cause the electronic device to set a zoom mode of the deviceto enable zooming, and changing size of the displayed user interfaceobject comprises zooming in on a portion of the user interface.
 20. Thenon-transitory computer readable storage medium of claim 17, wherein thechange in distance between the user of the electronic device and theelectronic device is a change in distance between the electronic deviceand eyes of the user, and the one or more programs, when executed by theone or more processors, cause the electronic device to change size ofthe displayed user interface object by an amount that is based on thechange in distance between the electronic device and the eyes of theuser.
 21. The non-transitory computer readable storage medium of claim17, wherein changing size of the displayed user interface objectincludes changing a zoom factor based on rotation of the electronicdevice.
 22. The non-transitory computer readable storage medium of claim21, wherein rotation of the electronic device is determined, using thecamera, based on orientation of the electronic device in relation to theuser.
 23. The non-transitory computer readable storage medium of claim17, wherein the processor is configured to change a zoom factor for theuser interface or user interface object based on a tilting of thedevice, wherein tilting the device in a first predefined directionincreases the zoom factor and tilting the device in a second predefineddirection decreases the zoom factor.
 24. The non-transitory computerreadable storage medium of claim 23, wherein tilt of the electronicdevice is determined, using the camera, based on orientation of theelectronic device in relation to the user.